云安全一直有兩個基本支柱。一是發現問題的可見性。另一個是有效修復威脅的能力——理想情況下,以主動的方式,這意味著在風險被積極利用之前降低風險。自從十多年前公司開始將工作負載轉移到云中以來,這些支柱都沒有改變。
然而,近年來發生了巨大變化的是企業實施云安全所需的工具和流程。隨著組織從由虛擬機驅動的基本云環境轉變為分布式、基于微服務的云原生環境,五到十年前就足夠的云安全策略已不再足以領先于威脅行為者。
如今,確保云安全隨著您的云戰略和架構而發展至關重要。本文解釋了這意味著什么以及企業應遵循哪些最佳實踐來滿足云原生安全要求。
從云安全到云原生安全
傳統的云計算環境和云原生計算環境有很大的不同。推而廣之,傳統的云安全和云原生安全有很大的不同。
在傳統的云環境中,您可以通過設置云防火墻和定義安全組來保護工作負載。您通過將代理加載到收集日志和指標的虛擬機上來實現??安全可見性。您可能已經使用云提供商的本地安全工具(如 Amazon GuardDuty 或 Microsoft Defender)來解釋該數據并檢測威脅。您可能還定期審核您的云 IAM 設置以檢測潛在的錯誤配置。也許您甚至將一些安全操作外包給了托管安全服務提供商 (MSSP)。
這些類型的工具和流程在云原生環境中仍然很重要。但是,僅靠它們還不足以應對云原生工作負載環境中出現的新的和獨特的安全挑戰。傳統的云安全無法滿足以下需求:
- 識別 IaaS 之外的風險:云原生攻擊面超出了傳統的基礎架構和應用程序。例如,Kubernetes RBAC 配置錯誤可能會造成安全風險,但僅監控 VM 或應用程序不會提醒您注意它們。
- 管理不斷變化的配置:現代的云原生環境可能包括數十個用戶和工作負載,有數千個訪問控制規則定義誰可以做什么——并且設置不斷變化。在這種動態、快速變化的環境中,定期審計不足以主動檢測威脅。
- 多云安全需求:當您需要保護同時跨多個云運行的工作負載時,云供應商的本地安全工具是不夠的。
- 補救根本原因:知道存在風險并不總是足以在復雜的云原生架構中快速修復它。例如,檢測到應用程序中的代碼注入漏洞并不一定意味著您可以快速將問題追溯到觸發它的特定微服務或代碼提交。
因此,雖然傳統的云安全仍然是云原生安全基礎的一部分,但它本身并不是一個完整的基礎。要全面保護云原生工作負載,您需要擴展現有的安全工具和流程來保護傳統云工作負載。
云原生安全最佳實踐
要實現云原生工作負載的完全安全性,請努力遵循以下實踐。
將安全性融入您的開發管道
在云原生世界中,您不想等到部署應用程序后才發現風險。相反,通過將安全測試烘焙到 CI/CD 管道中,最大限度地提高在部署前發現和修復問題的機會。理想情況下,您將執行一系列測試——從測試原始源代碼開始,然后在預生產環境中針對二進制文件運行測試。
超越代理
雖然基于代理的安全性可能足以保護簡單的云工作負載(如虛擬機),但在某些情況下(例如,當您使用無服務器功能時)您無法部署代理來實現安全可見性。相反,您需要通過確保您的應用程序在不依賴代理作為中介的情況下公開檢測威脅所需的數據來檢測代碼本身的安全可見性。
實施分層安全
云原生環境包括許多層——基礎設施、應用程序、編排、物理和虛擬網絡等——您需要保護每一層。這意味著除了捕獲傳統的云安全風險(如 IAM 錯誤配置)之外,還需要部署能夠檢測風險的工具和安全分析流程,例如,您配置 Kubernetes 部署的方式或從容器鏡像內部。
持續和實時審計
同樣,定期審核或驗證云配置不足以確保您可以實時檢測和修復威脅。相反,您應該部署可以持續監控所有配置并立即提醒您注意風險的工具。
自動修復
在可能的情況下,您還應該部署可以立即隔離或緩解威脅的自動修復工具,而無需人工“參與其中”。這種方法不僅可以減輕您對 IT 和安全團隊的負擔,還可以讓您盡可能快速主動地修復威脅。
馴服云原生安全的復雜性綜上所述,即使您對保護傳統云環境和工作負載的能力充滿信心,您也可能在處理云原生安全風險方面面臨一場艱苦的戰斗。存在解決方案,但它們需要專業知識和對新的、快速發展的云原生架構和技術的深入了解。